///////////////////////////////////////////////////////////
/// @file RMXPChar.h
///  Implementation of the Class RMXPChar
///  @date      18-fev-2007 15:52:58
///////////////////////////////////////////////////////////

#if !defined(EA_DDC0791E_DDE3_4585_949E_48B763CF82E1__INCLUDED_)
#define EA_DDC0791E_DDE3_4585_949E_48B763CF82E1__INCLUDED_

#include "Char.h"
#include <allegro.h>




#define TILE_SIZE 32
#define NUM_DIRECOES 4
#define NUM_FRAMES 4


/**
 * @brief Classe produto que representa um personagem.
 * @date 2007-02-19
 */
class RMXPChar : public Char
{
public:
	RMXPChar();
	virtual ~RMXPChar();
	void Draw(BITMAP* activePage);
	void Init(const char* fileName);
	void Turn(int direction);
	void Move(int direction);
	void Update();
	int GetState();

private:
	BITMAP* charset[NUM_DIRECOES][NUM_FRAMES];
	int offsetBaseX;
	int offsetBaseY;
	//int x, y;
	int offset;
	int view; ///< enum State
	int move; ///< enum State
	int state;


	void LoadTextures(const char* fileName);

};
#endif // !defined(EA_DDC0791E_DDE3_4585_949E_48B763CF82E1__INCLUDED_)
